home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS in a Box 7
/
BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso
/
Files
/
Prog
/
H-K
/
HyperStuff.cpt
/
HyperXCmd.h
< prev
next >
Wrap
Text File
|
1988-12-19
|
4KB
|
110 lines
/*
FILE : HyperXCmd.h - Hypercard include file
BUILT : 12/19/88
FONT : Profont fixed-cell 9 point (available on GEnie)
FROM : GEnie A.COHEN6
SOURCE: LightSpeed 'c' v3.0
TARGET: Macintosh II
Taken from Appendix A Pg. 237 of the Apple Hypercard Script Language Guide
(c)Apple Computer, Inc.
*/
#ifndef _HYPERCARD_
typedef struct XCmdBlock {
short paramCount;
Handle params[16];
Handle returnValue;
Boolean passFlag;
void (*entryPoint)(); /* to call back to HyperCard */
short request;
short result;
long inArgs[8];
long outArgs[4];
} XCmdBlock, *XCmdBlockPtr;
typedef struct Str31 {
char guts[32];
} Str31, *Str31Ptr;
/* result codes */
#define xresSucc 0
#define xresFail 1
#define xresNotImp 2
/* request codes */
#define xreqSendCardMessage 1
#define xreqEvalExpr 2
#define xreqStringLength 3
#define xreqStringMatch 4
#define xreqSendHCMessage 5
#define xreqZeroBytes 6
#define xreqPasToZero 7
#define xreqZeroToPas 8
#define xreqStrToLong 9
#define xreqStrToNum 10
#define xreqStrToBool 11
#define xreqStrToExt 12
#define xreqLongToStr 13
#define xreqNumToStr 14
#define xreqNumToHex 15
#define xreqBoolToStr 16
#define xreqExtToStr 17
#define xreqGetGlobal 18
#define xreqSetGlobal 19
#define xreqGetFieldByName 20
#define xreqGetFieldByNum 21
#define xreqGetFieldByID 22
#define xreqSetFieldByName 23
#define xreqSetFieldByNum 24
#define xreqSetFieldByID 25
#define xreqStringEqual 26
#define xreqReturnToPas 27
#define xreqScanToReturn 28
#define xreqScanToZero 39 /* Yes; no mistake, 39 is the correct value here. */
/*
Forward definitions of glue routines. Main program must include
HyperGlue.c (comments in HyperGlue.c generally explain routines)
*/
typedef void (*MyProcPtr) ();
pascal void SendCardMessage (XCmdBlockPtr paramPtr, StringPtr msg);
pascal Handle EvalExpr (XCmdBlockPtr paramPtr, StringPtr expr);
pascal long StringLength (XCmdBlockPtr paramPtr, StringPtr strPtr);
pascal Ptr StringMatch (XCmdBlockPtr paramPtr, StringPtr pattern, Ptr target);
pascal void SendHCMessage (XCmdBlockPtr paramPtr, StringPtr msg);
pascal void ZeroBytes (XCmdBlockPtr paramPtr, Ptr dstPtr, long longCount);
pascal Handle PasToZero (XCmdBlockPtr paramPtr, StringPtr pasStr);
pascal void ZeroToPas (XCmdBlockPtr paramPtr, char *zeroStr, StringPtr pasStr);
pascal long StrToLong (XCmdBlockPtr paramPtr, Str31 *strPtr);
pascal long StrToNum (XCmdBlockPtr paramPtr, Str31 *str);
pascal Boolean StrToBool (XCmdBlockPtr paramPtr, Str31 *str);
pascal void StrToExt (XCmdBlockPtr paramPtr, Str31 *str, double *myext);
pascal void LongToStr (XCmdBlockPtr paramPtr, long posNum, Str31 *mystr);
pascal void NumToStr (XCmdBlockPtr paramPtr, long num, Str31 *mystr);
pascal void NumToHex (XCmdBlockPtr paramPtr, long num, short nDigits, Str31 *mystr);
pascal void BoolToStr (XCmdBlockPtr paramPtr, Boolean bool, Str31 *mystr);
pascal void ExtToStr (XCmdBlockPtr paramPtr, double *myext, Str31 *mystr);
pascal Handle GetGlobal (XCmdBlockPtr paramPtr, StringPtr globName);
pascal void SetGlobal (XCmdBlockPtr paramPtr, StringPtr globName, Handle globValue);
pascal Handle GetFieldByName (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, StringPtr fieldName);
pascal Handle GetFieldByNum (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, short fieldNum);
pascal Handle GetFieldByID (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, short fieldID);
pascal void SetFieldByName (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, StringPtr fieldName, Handle fieldVal);
pascal void SetFieldByNum (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, short fieldNum, Handle fieldVal);
pascal void SetFieldByID (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, short fieldID, Handle fieldVal);
pascal Boolean StringEqual (XCmdBlockPtr paramPtr, Str31 *str1, Str31 *str2);
pascal void ReturnToPas (XCmdBlockPtr paramPtr, Ptr zeroStr, StringPtr pasStr);
pascal void ScanToReturn (XCmdBlockPtr paramPtr, Ptr *scanHndl);
pascal void ScanToZero (XCmdBlockPtr paramPtr, Ptr *scanHndl);
#endif
#define _HYPERCARD_